# -*- coding: utf-8 -*-            
# @Time : 2022/10/23 14:43
# @Author  : lining
# @FileName: demo3.py
"""
给定一个长度为 n 的序列 A，A 中的数各不相同。

对于 A 中的每一个数 Ai，求：

min1≤j<i|Ai−Aj|
以及令上式取到最小值的 j（记为 Pi）。若最小值点不唯一，则选择使 Aj 较小的那个。

输入格式
第一行输入整数 n，代表序列长度。

第二行输入 n 个整数A1…An,代表序列的具体数值，数值之间用空格隔开。

输出格式
输出共 n−1 行，每行输出两个整数，数值之间用空格隔开。

分别表示当 i 取 2∼n 时，对应的 min1≤j<i|Ai−Aj| 和 Pi 的值。

数据范围
n≤105,|Ai|≤109
输入样例：
3
1 5 3
输出样例：
4 1
2 1

解题思路
使用一个双链表存储有序序列：便于删除
使用一个数组：便于查找
输入1，5，3，4，2
a = []用于存储原序列的有序顺序
rk = [1，5，4，3，2] 用于存储原来的序列
rk[i]表示排在第i名的是谁
a[rk] = [1，2，3，4，5]   a[rk[i]]  rk[0] = 1 a[0]=1
"""
